Statement of the Technical Field
The present invention relates to session dependent applications, and more particularly to time-out management for session dependent applications.
Description of the Related Art
Prior to the advent of the global Internet, distributed applications were difficult and expensive to deploy and maintain. Specifically, heavyweight clients were configured for proprietary interoperation with backend servers over private communications networks. Modifications to the operating logic of distributed applications often required wholesale changes both to the clients and the servers in the client-server environment. Scalability often became stifled by the nature of the distributed application, the limitations of a proprietary network and the costs of maintaining application specific clients. Accordingly, the ubiquity of the distributed application became a reality only in consequence of the efficient nature of the global Internet and presently established hypermedia document distribution technologies.
The World Wide Web (hereinafter, the “Web”), the most prevalent implementation of a hypermedia document distribution technology, provides an ideal platform for delivering cost effective application logic with unlimited scalability and marginal client side requirements. In most cases, a simple Web browser can suffice as a lightweight client portion of a distributed application. The bulk of the logic of an application can be delivered either as part of a Web page, or the logic of the application can be hosted centrally in the server and accessed and controlled by embedded logic in a Web page. Recent advances in portable programming language interpretation and execution, including Java-type technologies permit further sophistication in regard to distributed applications such that there is little which can be accomplished using a traditional client-server architecture which cannot also be accomplished in a Web based application.
Nevertheless, human factors challenges remain in respect to the distribution of a Web application. For many, the Web has created a user experience that is considered a step backward from what existed previously in the client-server world. In the client-server world, clients enjoyed arbitrary richness as provided by the hosting graphical user interface-based operating system. Even though Web interfaces appear to be quite graphical in nature, the actual interactivity model for Web based applications remains restrictive at best. The perceptible performance gap resulting from full screen refreshes have been an issue for some time. Accordingly, great attention has been paid to closing the performance gap between traditional client-server user interface technology and Web application user interface technology.
One popular technique used to close the perceptible performance gap for the Web application includes the notion of “making pages last longer”. In this regard, distributed Web pages incorporate substantial logic and data in a model-view-controller arrangement so as to avoid more frequent page updates which otherwise would be required where the data and logic of an application remains fixed in a centralized server. Still, limiting the interactions between the content browser and content server, maintaining session state in session-dependent stateful Web application can be difficult. Specifically, many session dependent Web applications determine when a session has gone “stale” by detecting a time-out condition in the application. Generally, a time-out condition arises where no activity has been detected by the server over a threshold period of time. Accordingly, reconciling the contrasting requirements of a long-lasting Web page and frequent client activity can be difficult under the circumstance.